diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z104_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z104_13_AVX512.c index 6b140ae361..29fc440add 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z104_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z104_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z104_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<5;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z104_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z104_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z104_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z104_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z104_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<18;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<18;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<18;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<18;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<60;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<60;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<60;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<60;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<60;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<27;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<27;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<27;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<27;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<27;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<27;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<18;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<18;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<18;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<18;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<18;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<18;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<18;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z10_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z10_13_AVX512.c index 7f7e1087b5..ea326f3151 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z10_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z10_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z10_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z10_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z10_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z10_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z10_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z10_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z112_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z112_13_AVX512.c index 83fa2f21f9..fb060bd6a5 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z112_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z112_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z112_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<5;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z112_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z112_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z112_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z112_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z112_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<64;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<64;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<64;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<64;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<64;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z11_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z11_13_AVX512.c index c8e62b97b7..e54c190f31 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z11_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z11_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z11_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z11_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z11_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z11_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z11_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z11_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z120_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z120_13_AVX512.c index b9fd76c871..a78f7cfdf3 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z120_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z120_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z120_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<5;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z120_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z120_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z120_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z120_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z120_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<20;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<20;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<20;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<20;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<69;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<69;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<69;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<69;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<69;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<20;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<20;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<20;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<20;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<20;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<20;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<20;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z128_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z128_13_AVX512.c index 2004322ffb..c8201b03ab 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z128_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z128_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z128_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<5;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z128_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z128_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z128_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z128_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z128_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<73;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<73;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<73;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<73;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<73;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z12_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z12_13_AVX512.c index 65deb384f1..82710e8768 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z12_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z12_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z12_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z12_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z12_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z12_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z12_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z12_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z13_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z13_13_AVX512.c index 7e58ff6a17..7932adf53b 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z13_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z13_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z13_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z13_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z13_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z13_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z13_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z13_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z144_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z144_13_AVX512.c index 4ea09fe992..13b6a74d81 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z144_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z144_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z144_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<6;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z144_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z144_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z144_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z144_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z144_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<24;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<24;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<24;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<24;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<82;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<82;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<82;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<82;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<82;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<24;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<24;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<24;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<24;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<24;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<24;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<24;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z14_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z14_13_AVX512.c index 34ddf44317..b7bb522549 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z14_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z14_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z14_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z14_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z14_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z14_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z14_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z14_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z15_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z15_13_AVX512.c index fb573992f8..c42bc51b06 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z15_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z15_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z15_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z15_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z15_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z15_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z15_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z15_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z160_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z160_13_AVX512.c index dd92ec2676..c2c06e665f 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z160_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z160_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z160_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<6;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z160_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z160_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z160_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z160_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z160_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<26;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<26;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<26;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<26;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<91;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<91;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<91;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<91;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<91;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<26;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<26;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<26;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<26;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<26;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<26;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<26;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z16_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z16_13_AVX512.c index 538104c629..afc9b1e5a3 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z16_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z16_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z16_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z16_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z16_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z16_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z16_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z16_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z176_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z176_13_AVX512.c index d814e50b80..b27bd90b96 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z176_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z176_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z176_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<7;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z176_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z176_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z176_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z176_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z176_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<100;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<100;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<100;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<100;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<100;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<45;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<45;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<45;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<45;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<45;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<45;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z18_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z18_13_AVX512.c index 8926b2103e..c97a70ccdc 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z18_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z18_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z18_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z18_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z18_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z18_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z18_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z18_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z192_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z192_13_AVX512.c index 6395987931..a342cfe97c 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z192_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z192_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z192_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<7;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z192_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z192_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z192_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z192_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z192_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<109;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<109;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<109;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<109;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<109;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<49;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<49;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<49;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<49;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<49;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<49;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z208_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z208_13_AVX512.c index 8a221c9128..955ae571a4 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z208_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z208_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z208_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<8;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z208_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z208_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z208_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z208_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z208_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<34;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<34;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<34;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<34;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<118;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<118;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<118;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<118;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<118;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<53;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<53;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<53;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<53;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<53;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<53;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<34;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<34;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<34;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<34;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<34;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<34;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<34;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<27;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<27;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<27;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<27;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<27;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<27;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<27;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<27;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<27;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<27;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<27;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<27;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<27;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<27;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<27;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<27;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<27;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<27;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<27;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z20_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z20_13_AVX512.c index a01cccf7ce..2e63630301 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z20_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z20_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z20_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z20_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z20_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z20_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z20_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z20_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z224_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z224_13_AVX512.c index 77f7a1bb6f..d2fefcb354 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z224_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z224_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z224_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<8;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z224_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z224_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z224_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z224_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z224_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<36;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<36;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<36;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<36;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<127;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<127;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<127;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<127;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<127;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<57;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<57;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<57;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<57;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<57;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<57;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<36;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<36;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<36;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<36;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<36;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<36;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<36;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<29;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z22_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z22_13_AVX512.c index cdc2f559d9..01dd983597 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z22_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z22_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z22_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z22_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z22_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z22_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z22_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z22_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z240_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z240_13_AVX512.c index f65c846db3..53aeec8912 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z240_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z240_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z240_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<9;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z240_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z240_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z240_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z240_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z240_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<39;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<39;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<39;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<39;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<136;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<136;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<136;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<136;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<136;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<61;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<61;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<61;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<61;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<61;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<61;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<39;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<39;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<39;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<39;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<39;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<39;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<39;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z24_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z24_13_AVX512.c index e548ca3bbf..8f177ce26a 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z24_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z24_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z24_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z24_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z24_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z24_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z24_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z24_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z256_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z256_13_AVX512.c index da32d87d67..b3d4c9a7de 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z256_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z256_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z256_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<9;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z256_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z256_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z256_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z256_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z256_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<145;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<145;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<145;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<145;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<145;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<65;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<65;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<65;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<65;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<65;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<65;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z26_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z26_13_AVX512.c index bfef1f9644..47b42fe0bf 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z26_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z26_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z26_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z26_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z26_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z26_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z26_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z26_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z288_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z288_13_AVX512.c index 2d9560d8a5..a95d42eb4c 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z288_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z288_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z288_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<10;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z288_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z288_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z288_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z288_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z288_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<46;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<46;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<46;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<46;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<163;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<163;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<163;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<163;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<163;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<73;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<73;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<73;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<73;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<73;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<73;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<46;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<46;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<46;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<46;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<46;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<46;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<46;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z28_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z28_13_AVX512.c index dcd87ea8ce..4eb1fd2682 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z28_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z28_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z28_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z28_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z28_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z28_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z28_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z28_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z2_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z2_13_AVX512.c index b7da8bc7de..11f07ae488 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z2_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z2_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z2_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z2_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z2_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z2_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z2_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z2_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z30_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z30_13_AVX512.c index 94e6f9834e..88c2faca6a 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z30_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z30_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z30_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z30_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z30_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z30_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z30_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z30_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<18;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<18;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<18;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<18;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<18;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z320_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z320_13_AVX512.c index 21c02d68a4..708263ce55 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z320_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z320_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z320_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<11;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z320_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z320_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z320_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z320_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z320_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<51;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<51;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<51;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<51;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<181;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<181;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<181;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<181;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<181;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<81;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<81;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<81;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<81;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<81;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<81;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<51;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<51;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<51;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<51;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<51;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<51;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<51;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<41;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z32_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z32_13_AVX512.c index 15ba86b574..25ce43d209 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z32_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z32_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z32_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z32_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z32_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z32_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z32_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z32_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z352_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z352_13_AVX512.c index 79387b3c66..58c886f944 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z352_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z352_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z352_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<12;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z352_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z352_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z352_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z352_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z352_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<56;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<56;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<56;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<56;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<199;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<199;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<199;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<199;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<199;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<89;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<89;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<89;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<89;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<89;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<89;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<56;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<56;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<56;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<56;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<56;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<56;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<56;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<45;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<45;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<45;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<45;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<45;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<45;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<45;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<45;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<45;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<45;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<45;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<45;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<45;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<45;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<45;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<45;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<45;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<45;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<45;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z36_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z36_13_AVX512.c index f25561e120..3bd5a91457 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z36_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z36_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z36_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<3;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z36_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z36_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z36_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z36_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z36_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<22;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<22;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<22;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<22;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<22;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z384_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z384_13_AVX512.c index a6cbeb7e92..d6f292f18e 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z384_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z384_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z384_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<13;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z384_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z384_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z384_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z384_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z384_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<61;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<61;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<61;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<61;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<217;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<217;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<217;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<217;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<217;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<97;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<97;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<97;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<97;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<97;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<97;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<61;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<61;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<61;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<61;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<61;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<61;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<61;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<49;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<49;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<49;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<49;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<49;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<49;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<49;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<49;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<49;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<49;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<49;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<49;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<49;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<49;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<49;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<49;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<49;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<49;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<49;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z3_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z3_13_AVX512.c index daa6a9c2d8..4f83ef2077 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z3_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z3_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z3_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z3_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z3_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z3_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z3_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z3_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z40_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z40_13_AVX512.c index 2db9e6635a..abad1b9dfb 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z40_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z40_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z40_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<3;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z40_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z40_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z40_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z40_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z40_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<24;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<24;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<24;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<24;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<24;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z44_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z44_13_AVX512.c index 3d1cfdf841..faff4118f8 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z44_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z44_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z44_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<3;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z44_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z44_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z44_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z44_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z44_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<26;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<26;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<26;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<26;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<26;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z48_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z48_13_AVX512.c index 6c97d25bb4..cfc6439971 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z48_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z48_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z48_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<3;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z48_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z48_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z48_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z48_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z48_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<28;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<28;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<28;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<28;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<28;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z4_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z4_13_AVX512.c index 4744f6993c..42e5c15f61 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z4_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z4_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z4_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z4_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z4_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z4_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z4_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z4_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z52_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z52_13_AVX512.c index 8e2f726956..c06d1ff0ac 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z52_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z52_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z52_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<3;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z52_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z52_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z52_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z52_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z52_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<31;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z56_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z56_13_AVX512.c index dfc5c4331b..e2796c0fa4 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z56_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z56_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z56_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<3;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z56_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z56_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z56_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z56_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z56_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<33;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<8;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z5_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z5_13_AVX512.c index 7428c76c24..bf146bac70 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z5_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z5_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z5_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z5_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z5_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z5_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z5_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z5_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z60_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z60_13_AVX512.c index 2c4b54f2f4..6080804547 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z60_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z60_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z60_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<3;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z60_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z60_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z60_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z60_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z60_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<35;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<35;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<35;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<35;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<35;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z64_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z64_13_AVX512.c index f56cf3dced..5f3141dfe2 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z64_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z64_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z64_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<3;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z64_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z64_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z64_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z64_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z64_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<37;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<17;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<9;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z6_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z6_13_AVX512.c index fb462ccff0..8dd0fd28b0 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z6_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z6_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z6_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z6_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z6_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z6_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z6_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z6_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z72_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z72_13_AVX512.c index 07acbceec1..219511aa1e 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z72_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z72_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z72_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<4;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z72_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z72_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z72_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z72_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z72_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<42;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<42;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<42;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<42;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<42;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<19;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<10;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z7_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z7_13_AVX512.c index e3ef69151a..f825cdd6b9 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z7_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z7_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z7_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z7_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z7_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z7_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z7_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z7_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<5;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z80_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z80_13_AVX512.c index 22498f909a..28fa67f2e6 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z80_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z80_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z80_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<4;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z80_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z80_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z80_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z80_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z80_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<46;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<46;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<46;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<46;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<46;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<21;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<14;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<11;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z88_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z88_13_AVX512.c index 5776e20c83..0aa4fead53 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z88_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z88_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z88_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<4;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z88_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z88_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z88_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z88_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z88_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<51;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<51;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<51;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<51;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<51;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<23;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<15;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<12;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z8_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z8_13_AVX512.c index c81351f79e..f60ed7446b 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z8_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z8_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z8_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z8_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z8_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z8_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z8_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z8_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<6;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z96_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z96_13_AVX512.c index 1d5df963b9..12b66c065b 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z96_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z96_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z96_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<4;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z96_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z96_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z96_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z96_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z96_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<55;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<55;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<55;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<55;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<55;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<25;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<16;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<13;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } } diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z9_13_AVX512.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z9_13_AVX512.c index 24c4d7f51c..0b141837be 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z9_13_AVX512.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z9_13_AVX512.c @@ -12,7 +12,7 @@ void nrLDPC_cnProc_BG1_Z9_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { __m512i zmm0, min, sgn,ones,maxLLR; ones = _mm512_set1_epi8((char)1); maxLLR = _mm512_set1_epi8((char)127); - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -30,7 +30,7 @@ void nrLDPC_cnProc_BG1_Z9_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, maxLLR); ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -38,7 +38,7 @@ void nrLDPC_cnProc_BG1_Z9_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[12+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -46,9 +46,9 @@ void nrLDPC_cnProc_BG1_Z9_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[13+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i+=2) { + for (int i=0;i<0;i+=2) { zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -56,7 +56,7 @@ void nrLDPC_cnProc_BG1_Z9_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[24+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); zmm0 = ((__m512i*)cnProcBuf)[1+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); @@ -64,2278 +64,2278 @@ void nrLDPC_cnProc_BG1_Z9_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes) { min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[25+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[1+i] = _mm512_sign_epi16(min, sgn); } //Process group with 4 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[36+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[96+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[126+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[156+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[36+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[66+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[96+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 5 BNs - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[108+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[276+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[492+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[708+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[708+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[924+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<7;i++) { - zmm0 = ((__m512i*)cnProcBuf)[276+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[384+i]; + zmm0 = ((__m512i*)cnProcBuf)[108+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[492+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[600+i]; + zmm0 = ((__m512i*)cnProcBuf)[324+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1140+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 6 BNs - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[48+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1356+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1452+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1548+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1644+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1596+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1740+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<4;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1356+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1404+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1452+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1500+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1548+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1836+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 7 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[30+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1932+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[1992+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2052+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2112+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2172+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2112+i]; + zmm0 = ((__m512i*)cnProcBuf)[180+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2232+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[1932+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1962+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[1992+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2022+i]; + zmm0 = ((__m512i*)cnProcBuf)[90+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2052+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2082+i]; + zmm0 = ((__m512i*)cnProcBuf)[150+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2292+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 8 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2352+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2376+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2400+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2424+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2448+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2472+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2408+i]; + zmm0 = ((__m512i*)cnProcBuf)[56+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2436+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2496+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2352+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2364+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2376+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2388+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2400+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2472+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2424+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2520+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 9 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[12+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2544+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2568+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2592+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2616+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2640+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2664+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2688+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2640+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2712+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2544+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2556+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2568+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2580+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2592+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2604+i]; + zmm0 = ((__m512i*)cnProcBuf)[60+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2616+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2628+i]; + zmm0 = ((__m512i*)cnProcBuf)[84+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2736+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 10 BNs - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[6+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2760+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2772+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2784+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2796+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2808+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2820+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2832+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2844+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2778+i]; + zmm0 = ((__m512i*)cnProcBuf)[18+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2814+i]; + zmm0 = ((__m512i*)cnProcBuf)[54+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2856+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<2;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2760+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2766+i]; + zmm0 = ((__m512i*)cnProcBuf)[6+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2772+i]; + zmm0 = ((__m512i*)cnProcBuf)[12+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2784+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2790+i]; + zmm0 = ((__m512i*)cnProcBuf)[30+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2796+i]; + zmm0 = ((__m512i*)cnProcBuf)[36+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2802+i]; + zmm0 = ((__m512i*)cnProcBuf)[42+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2808+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2868+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } //Process group with 19 BNs - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[24+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2880+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2928+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[2976+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3024+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3072+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3120+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3168+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3216+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3264+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3312+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3360+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3408+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3456+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3504+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3552+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3600+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3648+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3312+i]; + zmm0 = ((__m512i*)cnProcBuf)[432+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3696+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } - for (int i=0;i<3;i++) { - zmm0 = ((__m512i*)cnProcBuf)[2880+i]; + for (int i=0;i<0;i++) { + zmm0 = ((__m512i*)cnProcBuf)[0+i]; sgn = _mm512_sign_epi16(ones, zmm0); min = _mm512_abs_epi8(zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2904+i]; + zmm0 = ((__m512i*)cnProcBuf)[24+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2928+i]; + zmm0 = ((__m512i*)cnProcBuf)[48+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2952+i]; + zmm0 = ((__m512i*)cnProcBuf)[72+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[2976+i]; + zmm0 = ((__m512i*)cnProcBuf)[96+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3000+i]; + zmm0 = ((__m512i*)cnProcBuf)[120+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3024+i]; + zmm0 = ((__m512i*)cnProcBuf)[144+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3048+i]; + zmm0 = ((__m512i*)cnProcBuf)[168+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3072+i]; + zmm0 = ((__m512i*)cnProcBuf)[192+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3096+i]; + zmm0 = ((__m512i*)cnProcBuf)[216+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3120+i]; + zmm0 = ((__m512i*)cnProcBuf)[240+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3144+i]; + zmm0 = ((__m512i*)cnProcBuf)[264+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3168+i]; + zmm0 = ((__m512i*)cnProcBuf)[288+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3192+i]; + zmm0 = ((__m512i*)cnProcBuf)[312+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3216+i]; + zmm0 = ((__m512i*)cnProcBuf)[336+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3240+i]; + zmm0 = ((__m512i*)cnProcBuf)[360+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3264+i]; + zmm0 = ((__m512i*)cnProcBuf)[384+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); - zmm0 = ((__m512i*)cnProcBuf)[3288+i]; + zmm0 = ((__m512i*)cnProcBuf)[408+i]; min = _mm512_min_epu8(min, _mm512_abs_epi8(zmm0)); sgn = _mm512_sign_epi16(sgn, zmm0); min = _mm512_min_epu8(min, maxLLR); - ((__m512i*)cnProcBufRes)[3744+i] = _mm512_sign_epi16(min, sgn); + ((__m512i*)cnProcBufRes)[0+i] = _mm512_sign_epi16(min, sgn); } }